home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / go / comp / compgo < prev    next >
Encoding:
Text File  |  1993-06-20  |  60.8 KB  |  1,545 lines

  1. Results of the 1992 World Computer Go Championship, held in Tokyo, Japan
  2. on November 11 and 12.
  3.  
  4. 1 - Go Intellect,     Ken Chen         USA        5-1
  5. 2 - Handtalk         ZhiXing Cheng        China        4-2
  6. 3 - Goliath         Mark Boon        Netherlands    4-2
  7. 4 - GOG            5th gen project?    Japan?        4-2
  8. 5 - Star of Poland    Januz Kraszek        Poland        4-2
  9. 6 - Many Faces of Go    David Fotland        USA        3-3
  10. 7 - Nemesis        Bruce Wilcox        USA        2-4
  11. 8 - Great Hon-in-bow    Takeshiro Yoshikawa     Japan        2-4
  12. 9 - Rex                                2-4
  13. 10 - Go Congress                        0-6
  14.  
  15. Go Intellect lost to Handtalk.
  16. Handtalk lost to GOG and Goliath
  17. Goliath lost to Go Intellect and Star of Poland
  18. GOG lost to Go Intellect and Many Faces of Go
  19. Star of Poland lost to Go Intellect and Handtalk
  20. Many Faces of Go lost to Go Intellect, Goliath, and Star of Poland
  21.  
  22. The top programs were very well matched this year.  The top 6 finishers each
  23. beat at least one program that finished above them.  Star of Poland had
  24. the bad luck to be paired with Rex and Great Hon-in-bow in early rounds,
  25. which hurt it in the tie breaker.  Any of the top 5 finishers could have
  26. taken first place, but Go Intellect has been among the top programs for several
  27. years and deserves the title.
  28.  
  29. The three top programs earned the right to challenge 6-dan amateur human 
  30. opponents at 15-stone handicaps. The humans, age 11-13, won all three 
  31. games.
  32.  
  33.      _Computer_Go_ magazine $15/year (U.S. dollars outside Canada)
  34.           71 Brixford Crescent
  35.           Winnipeg
  36.           Manitoba R2N 1E1
  37.           Canada
  38.           (204) 256-2537 and (204) 946-7461 (office)
  39.  
  40.  
  41. Results from the 1991 World computer Go Congress:
  42.  
  43. Main Computer Tournament:
  44.  
  45. Place   Program        Author        Country
  46.    Wins
  47.  1  6    Goliath        Mark Boon    Netherlands
  48.  
  49.  2  5    Go Intellect     Ken Chen    USA   (lost to Goliath)
  50.  
  51.  3  4    Dragon        Tung-Yueh Liu    Taiwan
  52.  4  4    Weiki III    Sanechika    Japan
  53.  5  4    Star of Poland     Kraszek    Poland
  54.  
  55.  6  3    Handtalk    ZhiXing Cheng    China
  56.  7  3    Stone        Kuo-Yuan Kao    Taiwan
  57.  8  3     Modgo        Knoffle        Germany
  58.  9  3    Mac        Won-Ho Jee    Korea
  59. 10  3    Many Faces     David Fotland    USA
  60.  
  61. 11  2    Nemesis        Bruce Wilcox    USA
  62. 12  2    Hirartsuka    Shigyou        Japan
  63.  
  64. 13  1    Explorer    Martin Muller    Switzerland
  65. 14  1    Daihoninbo    Yoshikawa    Japan  (Win was due to a bye)
  66.  
  67. 15  0    Go        Yuzhi Yang    China  (crashed every round)
  68.  
  69. "Best Design" prize for the program with the overall best combination of
  70. ease of use, features, look, and playing strength, went to Many Faces of Go.
  71.  
  72. Goliath went on to challange the 3 human players (young 5 dans), at a
  73. 16 play handicap and won all 3 games.  It challenged at the next level (14
  74. play handicap), and lost all three games.  Next year the human challenge will
  75. be at a 14 play handicap.
  76.  
  77.  
  78. ---------------------------------------------------------------------
  79. Results of 1991 North American Computer Go Tournament, held at the 1991
  80. Go Congress in Rochester, New York.
  81.  
  82. 1st: Many Faces of Go, By David Fotland
  83. 2nd: Go Intellect, by Ken Chen
  84. 3rd: Stone, by Kao
  85. 4th: Contender, by Lynn Beus and Jim Logan
  86. 5th: Nemesis, by Bruce Wilcox
  87. 6th: Swiss Explorer, by Martin Mueller and Anders Kierulf
  88.  
  89.  
  90. Swiss Explorer forfeited two games, to Many faces and Nemesis, because it
  91. was late and missed two rounds.  Swiss explorer lost to Contender due to
  92. an unrecoverable crash, but Contender was ahead at the time.  
  93. Nemesis lost two games, to Contender and Stone, due to unrecoverable crashes.
  94. Nemesis was ahead in the game against Contender, and about even with Stone
  95. when it crashed.  Stone is a rewrite of a program that has done well in 
  96. Taiwan in the past.  Swiss Explorer was rewritten for this year.  
  97.  
  98. The game between Many Faces and Go Intellect was exciting - both programs 
  99. killed large enemy groups, and the score swung over 100 points each way in 
  100. the middle game, then the programs left a very large ko on the board until 
  101. the last dame was filled.  Many Faces beat Stone by about 20 points and 
  102. Nemesis and Contender by about 140 points each.
  103.  
  104.         Con    Exp    MFGO    INT    NEMESIS    Stone    Wins    Place
  105. Contender    x    1C    0    0    1C    0    2    4th
  106. Explorer    0C    x    0F    0    0F    0    0    6th
  107. Many Faces    1    1F    x    1    1    1    5    1st
  108. Intellect    1    1    0    x    1    1    4    2nd
  109. NEMESIS        0C    1F    0    0    x    0C    1    5th
  110. Stone        1    1    0    0    1C    x    3    3rd
  111.  
  112.  
  113.  
  114. -David Fotland (3 Dan, author of Many Faces of Go)
  115.  
  116. -----------------------------------------------------------------------
  117.  
  118. Here are the reults of the 1989 World Computer Go Championship held
  119. in Taipei, R.O.C. on November 11th and 12th.
  120.  
  121. Place    Programmer        Program       Country    R1  R2  R3  R4
  122.                 
  123.  1 (3)     Mark Boon       Goliath       Holland    +14 +10 +6  +2
  124.  2 (11)    Bruce Wilcox       Nemesis       USA        +12 +3  +8  -1
  125.  3 (5)    Ken Chen       Go Intellect       USA        +5  -2  +11 +6
  126.  4 (5)    Anders Kierulf       Swiss Explorer  Switzerland  +7  -6  +10 +8
  127.  5     Noriaki Sanechika  Igo 2.24       Japan    -3  +13 +7  +12
  128.  6 (4)    Janusz Kraszek       Star of Poland  Poland    +9  +4  -1  -3
  129.  7 (8)    David Fotland       Cosmos       USA              -4  +9  -5  +10
  130.  8    Yen Chi Lin       Go           ROC        +13 +12 -2  -4
  131.  9    Tadashi Takamoto   AISYS King       Japan    -6  -7  +13 +11
  132. 10 (7)    Gao Guo Yuan       Stone 2.0       ROC        +11 -1  -4  -7
  133. 11    Lin Guang Jiue       Life           ROC        -10 +14 -3  -9
  134. 12 (2)    Liu Dong Yue       Dragon       ROC        -2  -8  +14 -5
  135. 13 (12)    Chang Sheng Shu       Magic Go       ROC        -8  -5  -7  +14
  136. 14    Wu Jeng Ru       WCR II       ROC        -1  -11 -12 -13
  137.  
  138. () shows place from last year's world championship.
  139.  
  140. This year there were large improvements in most of the programs.  Dragon
  141. was the winning program until last year, when it came in second.  Most
  142. of last year Liu Dong Yue has been in military service so he hasn't had
  143. much time to improve his program and this year it came in 12th.  Last year's
  144. top program, Codan, could not be at the championship this year, but it did
  145. not finish first in the Japanese preliminary, and the other Japanese
  146. programs came in 5th and 9th.  The most improved program was Nemesis,
  147. which came in 11th last year and 3rd in the USA preliminary, but took
  148. 2nd place.  Swiss Explorer and Go intellect are both derivatives of
  149. Go Explorer, which took 5th place last year.  I think that all of the top
  150. 9 programs are stronger than last year's top finisher was.
  151.  
  152. The final game between Goliath and Nemesis was won by 1 point by Goliath,
  153. and the game between Go Intellect and Nemesis was won by 3 points.  If
  154. Goliath had lost it would have been 5th place because it played relatively
  155. weaker opponents than the other top programs.  The top programs are close 
  156. enough in strength that 4 rounds is not really enough to accurately determine
  157. which is best.  Next year the contest may be played on 3 days with 8 rounds
  158. to solve this problem.
  159.  
  160. Goliath had the opportunity to play a 16 play handicap game against a
  161. 12 year old 6 dan.  (Under Ing rules, Black makes 16 plays, then plays first
  162. so there are actually 17 black stones on the board when white makes his first
  163. play.)  Goliath lost, but only by about 15 points, so maybe next year the
  164. computer will be able to win.
  165.  
  166. --------------------------------------------------------------------
  167.  
  168. Though it is difficult to obtain a precise estimate of the abilities of these
  169. GO programs, their strengths are close to the 9-12 kyu range.  Each program
  170. may have certain anomalous vulnerabilities which can be discovered after a
  171. few games and subsequently exploited.  
  172.  
  173. From: David Fotland <fotland@hpda.hp.com>
  174. From: jansteen@cwi.nl (Jan van der Steen)
  175.  
  176.  
  177.                             9x9 TOURNAMENT
  178.  
  179.    PLAYER                PROGRAM    MACHINE   I  II  III IV   TOT a  b
  180. ========================================================================
  181.  1 D. Y. Lui (Taiwan)    Dragon 3.0     Mac  +14 +5  +6  +2    4  8  8 
  182.  2 D. Fotland (USA)      Cosmos        1100  +13 +12 +3  -1    3  5  9 
  183.  3 B. Wilcox (USA)       Nemesis        910  +8  +13 -2  +6    3  5  8 
  184.  4 M. Boon (NL)          Goliath II    1100  -6  +9  +12 +7    3  5  7 
  185.  5 F. C. Tang (Taiwan)   Long Feather   910  +7  -1  +10 +12   3  4  8 
  186.  6 R. Rehm (NL)          Goliath I      910  +4  +11 -1  -3    2  4  8 
  187.  7 A. Scarff (GB)        MicroGo        910  -5  +14 +11 -4    2  1  7 
  188.  8 K. S. Chen (USA)      Explorer       Mac  -3  -10 +13 +11   2  1  6 
  189.  9 K. Y. Chen (Taiwan)   Jester         910  -11 -4  +14 +10   2  1  5 
  190. 10 C. S. Chang (Taiwan)  Magic Go       910  -12 +8  -5  -9    1  2  8 
  191. 11 J. Kraszek (P)        SOP            910  +9  -6  -7  -8    1  2  8 
  192. 12 C. W. Shuie (Taiwan)  Stone 1.0     1100  +10 -2  -4  -5    1  1 10 
  193. 13 S. S. Yu (Taiwan)     Dragon 2.0     910  -2  -3  -8  +14   1  0  8 
  194. 14 H. Landman (USA)      Poka           Sun  -1  -7  -9  -13   0  0  9
  195.  
  196. a = SOSB and b = SOS.
  197.  
  198. 910  is an Acer computer running on a 80286 Intel processor.
  199. 1100 is an Acer computer running on a 80386 Intel processor.
  200. Mac is a MacIntosh II.
  201. Sun is a Sun 4.
  202.  
  203.  
  204.                           19x19 TOURNAMENT
  205.  
  206.    PLAYER                PROGRAM    MACHINE   I  II  III IV   TOT a  b
  207. ========================================================================
  208.  1 K. Hayashi (J)        Codan      Toshiba  +16 +6  +3  +2    4  8  8 
  209.  2 D. Y. Liu (Taiwan)    Dragon 3.0     Mac  +9  +4  +7  -1    3  7 11 
  210.  3 M. Boon (NL)          Goliath II    1100  +14 +8  -1  +6    3  5  9 
  211.  4 J. Kraszek (P)        SOP            910  +12 -2  +9  +7    3  5  8 
  212.  5 K. S. Chen (USA)      Explorer       Mac  -6  +16 +13 +8    3  3  8 
  213.  6 J. Sakai (J)          Igo II         910  +5  -1  +11 -3    2  5 12 
  214.  7 G. Y. Gao (Taiwan)    Stone 1.0      910  +10 +11 -2  -4    2  4 10 
  215.  8 D. Fotland (USA)      Cosmos        1100  +13 -3  +10 -5    2  3  9 
  216.  9 R. Rehm (NL)          Goliath I      910  -2  +12 -4  +14   2  2  8 
  217. 10 N. Sanechika (J)      Go V. 1.3      910  -7  +15 -8  +12   2  2  6 
  218. 11 B. Wilcox (USA)       Nemesis        910  +15 -7  -6  +13   2  2  6 
  219. 12 C. S. Chang (Taiwan)  Magic Go       910  -4  -9  +15 -10   1  1  8 
  220. 13 A. Scarff (GB)        MicroGo        910  -8  +14 -5  -11   1  1  8 
  221. 14 F. C. Tang (Taiwan)   Long Feather   910  -3  -13 +16 -9    1  0  6 
  222. 15 Huang (Taiwan)        Logos          910  -11 -10 -12 +16   1  0  5 
  223. 16 S. S. Yu (Taiwan)     Dragon 2.0     910  -1  -5  -14 -15   0  0  9
  224.  
  225. Toshiba is a Toshiba 3100, a PC compatible running a 80386 Intel
  226. processor.
  227.  
  228.  
  229. -- 
  230.         Jan van der Steen,        CWI the Netherlands
  231.         jansteen@cwi.nl      (or uunet!mcvax!jansteen)
  232.  
  233. From fotland@hpda.hp.com Tue Feb 13 15:39:07 1990
  234. ------------------
  235. 10 programs participated in this year's (89) United States Championship.
  236. There weren't too many surprises in the finishing order.  Two strong European 
  237. programs entered but were not eligible to qualify for the international 
  238. tournament in Taiwan.
  239.  
  240. Place    N.A.Place    Program        Author        Record
  241. 1    1        Go Intellect    K. Chen        4-0
  242. 2    -        MicroGo 2    A. Scarff    3-1
  243. 3    2        Cosmos        D. Fotland    3-1
  244. 4    -        Star of Poland    J. Kraszek    3-1
  245. 5    3        Nemesis        B. Wilcox    2-2
  246. 6    4        Poka        H. Landman    2-2
  247. 7    5        Golem        H. Enderton    1-3
  248. 8    6        Contender    L. Beus        1-3
  249. 9    7        Go Guru        K. Schatten    1-3
  250. 10    8        Tsunami        B. Ladendorf    0-4
  251.  
  252. Go Intellect is the next generation of Go Explorer.  It is much stronger.
  253. Opinions of GI's strength ranged from 12 kyu to 5 kyu, with most people 
  254. saying 8 to 10.  Go Explorer is generally considered to be 12 to 14 kyu, so 
  255. this is a large improvement in one year.
  256.  
  257. MicroGo 2 finally did fairly well, surprising many observers.  Alan Scarff
  258. was the only person who thought it had a reasonable chance against Go
  259. Intellect in their 4th round match.  Alan has said that the program uses
  260. cellular automaton techniques, but he hasn't explained how yet.
  261.  
  262. Cosmos qualified as expected, beating Nemesis as expected.  There was a
  263. little excitement in the 4th round, when Poka got paired with Cosmos, which
  264. should have been a sure win for Cosmos.  However, due to some kind of bug,
  265. Cosmos started moving slower and slower, and got into serious time trouble.
  266. Dave Fotland finally had to kill it and re-enter the moves by hand.  (Maybe
  267. he'll implement auto-save or a trickle file now?)  Eventually he got Cosmos
  268. back in sync and completed the game, but another 5 minutes and it would
  269. have been disqualified.
  270.  
  271. Star Of Poland placed about as expected.  The 2nd round game between MicroGo
  272. and SOP was very difficult, with a large capturing race that MicroGo won.
  273.  
  274. Nemesis lost to the stronger programs and beat the weaker programs.  So did
  275. Poka.  It is unfortunate that Nemesis and Poka were never paired, since it
  276. would have been an interesting game.  As it turned out, the 4th round match
  277. between the two worst programs (Go Guru and Tsunami) decided the 3rd place
  278. by tie-breaker (sum-of-defeated-opponent's-scores).
  279.  
  280. Golem is basically the same program that competed in the USENIX tournament
  281. in 1987.  It is tactically very strong, but weak elsewhere. 
  282.  
  283. Contender is a several-rank improvement of Infinity Go, but that still leaves
  284. it around 23 to 25 kyu.  
  285.  
  286. Go Guru and Tsunami are very young programs, and were not able to stand up to
  287. any of the more mature ones.  I expect that these could improve dramatically
  288. in a year.
  289.  
  290. Except for the Cosmos time problem and one glitch in another program,
  291. there were no crashes this year.  All games were considered completed.
  292. This contrasts with last year, where only 5 programs were entered and
  293. the two that didn't qualify both crashed alot.
  294.  
  295.     Howard A. Landman
  296.     landman@sun.com
  297.  
  298.  
  299. From: David Fotland <fotland@hpda.hp.com>
  300. From: jan@mathrt0.math.chalmers.se. (Jan Stein)
  301. Subject: 1st Computer Olympiad GO tournament
  302.  
  303. I havn't seen any results from the GO tournament in the 1st Computer Olympiad,
  304. so I have taken time to post the results. It's interesting to notice that
  305. Go Intellect which placed 1st in North American tournament only came fourth.
  306. The first three program in the 19x19 tournament are also this years European
  307. entries in the Taiwan tournament.
  308.  
  309.  
  310.                                19 x 19 GO
  311.  
  312.                                   1  2  3  4  5  6  7  8  9 10  score position
  313. ------------------------------------------------------------------------------
  314. 1.  Swiss Explorer (Switzerland)  x  0  1  1  1  1  1  1  1  1    8       1
  315. 2.  Goliath (Netherlands)         1  x  0  0  1  1  1  1  1  1    7       2
  316. 3.  Star of Poland (Poland)       0  1  x  1  0  1  0  1  1  1    6       3
  317. 4.  Go Intellect (USA)            0  1  0  x  1  1  0  1  1  1    6       4
  318. 5.  Stone (Taiwan)                0  0  1  0  x  0  1  1  1  1    5       5
  319. 6.  Modgo (W. Germany)            0  0  0  0  1  x  1  1  1  1    5       5
  320. 7.  Microgo 2 (England)           0  0  1  1  0  0  x  0  1  1    4       7
  321. 8.  Dragon (Taiwan)               0  0  0  0  0  0  1  x  1  1    3       8
  322. 9.  Tango (W. Germany)            0  0  0  0  0  0  0  0  x  1    1       9
  323. 10. Cingo (England)               0  0  0  0  0  0  0  0  0  x    0      10
  324.  
  325.  
  326.  
  327.                                 9 x 9 GO
  328.  
  329.                                   1  2  3  4  5  6  7  8  9 10  score position
  330. ------------------------------------------------------------------------------
  331. 1.  Dragon (Taiwan)               x  1  1  0  1  1  1  1  1  1    8       1
  332. 2.  Go Intellect (USA)            0  x  1  1  0  1  1  1  1  1    7       2
  333. 3.  Goliath (Netherlands)         0  0  x  1  1  1  1  1  1  1    7       3
  334. 4.  Go 4 (England)                1  0  0  x  1  1  0  1  1  1    6       4
  335. 5.  Microgo 2 (England)           0  1  0  0  x  1  1  0  1  1    5       5
  336. 6.  Modgo (W. Germany)            0  0  0  0  0  x  1  1  1  1    4       6
  337. 7.  Swiss Explorer (Switzerland)  0  0  0  1  0  0  x  1  1  1    4       6
  338. 8.  Star of Poland (Poland)       0  0  0  0  1  0  0  x  1  1    3       8
  339. 9.  Tango (W. Germany)            0  0  0  0  0  0  0  0  x  1    1       9
  340. 10. Cingo (England)               0  0  0  0  0  0  0  0  0  x    0      10
  341.  
  342.  
  343. --
  344. Jan Stein,  Chalmers Computer Society,  E-mail: jan@cd.chalmers.se
  345. Disclaimer:  afs: Lost contact with server 129.16.38.2
  346.  
  347. From: fotland@hpihoah.cup.hp.com (David Fotland)
  348. Subject: X11 Go program available (includes two player mode)
  349. Date: 26 Nov 91 19:38:16 GMT
  350.  
  351. Documentation for "The Many Faces of Go", Cosmos, IGO, and xgo, 
  352. a program that plays Go, by David Fotland. (11/26/91)
  353.  
  354. "The Many Faces of Go" is a GO program for the IBM-PC that includes
  355. an extensive tutorial on the rules and strategy, a set of introductory
  356. problems (from Graded Go Problems For Beginners), several professional games
  357. with commentary (and the ability to present additional games available
  358. from Ishi Press), a Joseki tutor with about 15,000 moves, and one of the
  359. strongest Go playing computer opponents available.  MFGO was introduced
  360. in January, 1991, and currently holds the title of "North American Computer
  361. Go Champion".
  362.  
  363. Cosmos was the previous version of this program, introduced in September, 
  364. 1988, and is no longer available, since MFGO is a stronger player and has
  365. a much better user interface.  
  366.  
  367. IGO is a 9 line only introductory version of Many Faces of Go for the IBM-PC 
  368. that is available from the American Go Association or Ishi Press.  It is 
  369. free (except for shipping and handling), and may be freely copied and given 
  370. away to friends.
  371.  
  372. Xgo is a port of Many Faces of Go to X11 release 4 on the Hewlett Packard 
  373. HP9000  3xx, 4xx, 6xx, 7xx, and 8xx computers.  It emulates the VGA graphics
  374. interface from MFGO, and has a two player, two screen mode for playing games
  375. with friends over the net.
  376.  
  377. The most recent Cosmos is Rev 6.11.  The most recent Many Faces of Go is
  378. Rev 7.03.  The most recent xgo is Rev 7.34.  The most recent rev of IGO is
  379. 7.5.  All programs share the same source code.
  380.  
  381. MFGO plays the oriental game of Go, a 2 player board game where the object
  382. is to surround territory.  Players take turns putting pieces (called stones)
  383. on a board.  Once played a piece does not move, although it may be captured.
  384. Play continues until both players pass and the score is the number of points
  385. surrounded plus the number of prisoners.  Highest score wins. 
  386.  
  387. Tournament Results:
  388.  
  389. "Best Design" award 1991 World Computer Go Championship
  390. 1st place 1991 North American Computer Go Championship
  391. 10th place 1991 World Computer Go Congress
  392. 5th Place 1990 USA Computer Go Championship
  393. 2nd place 1989 USA 19 line computer Go championship
  394. 7th place 1989 World 19 line computer Go championship
  395. 1st place 1988 Usenix 19 line computer Go tournament
  396. 1st place 1988 USA 19 line Computer Go championship
  397. 8th place 1988 World 19 line computer Go championship
  398. 2nd place 1988 World 9 line Computer Go championship
  399. 4th place 1987 World 19 line computer Go championship
  400. 4th place 1987 World 9 line Computer Go championship
  401.  
  402. MFGO is about 15 Kyu strength.  Xgo is about 13 Kyu strength.  Beginners are 
  403. about 25 to 30 kyu.  Smaller numbers are stronger players.  The difference in 
  404. rank is the number of handicap stones given on a 19 line board.  Most serious 
  405. players get to 6 to 10 kyu within a year or two if they have stronger people 
  406. to play.  After one kyu, the next rank is one dan and ranks go up to 9 dan 
  407. with the strongest amateur players at 7 or 8 dan.  My rank is 3 Dan.
  408.  
  409. How to get it:
  410.  
  411. If you are inside HP, xgo is ninstallable from hpihoah.  The package is
  412. called "go" and includes a man page.  It puts "xgo" in /usr/local/games,
  413. the man page "xgo.6" in /usr/local/man/man6, and the data files and graphic
  414. bitmaps in /usr/local/games/lib/xgo.  It also installs an old X10 and curses
  415. version as /usr/local/games/go.
  416.  
  417. From outside HP you can get Xgo from uunet.uu.net via anonymous FTP.  
  418. Look in games/hp-xgo.shar.Z.  This shar file contains binary executables
  419. for both HP9000 68000 based machines (3xx and 4xx) and RISC based machines
  420. (6xx, 7xx, 8xx), as well as documentation and data files.  The file is about
  421. 2.75 Mbytes, and uncompresses to about 6 Mbytes.  Transfer it in binary mode,
  422. then use 'uncompress hp-xgo.shar.Z' to uncompress it, then 'sh hp-xgo.shar'
  423. to split out the separate files.
  424.  
  425. Xgo is available free on Hewlett Packard 9000 series computers.  MFGO is
  426. available for IBM PC or compatibles with at least 512 Kb of memory as
  427. "The Many Faces of Go", for $59.95 (plus $3.00 postage and handling)
  428. in many computer and game stores or from:
  429.  
  430. Ishi Press
  431. 76 Bonaventura Dr.
  432. San Jose CA 95134
  433. (408)944-9900
  434.  
  435. I do not distribute source since this is one of the stronger programs in
  436. the world and I want to win the world championship.  I have no plans to port
  437. this program to any other Unix based machines, especially not
  438. to Sun workstations.  I may port it to the Macintosh, Amiga, or
  439. NeXt machines.
  440.  
  441.  
  442. Usage (for Xgo  X11 version):
  443.  
  444. xgo [-sSIZE] [-lLEVEL] [-hHANDICAP]  [-display FOO:0.0] [-display2 BAR:0.0]
  445.  
  446. SIZE is size of board (7 to 19).  Default is 19.
  447. LEVEL is the playing level (0-20).  Default is 10
  448. HANDICAP is number of handicap stones
  449. -display FOO:0.0 use FOO for display
  450. -display2 BAR:0.0  use BAR for the second player
  451.  
  452.  
  453. MFGO and xgo have a setup screen that allows setting of playing level,
  454. handicap, rules, color played, and some user interface parameters.
  455.  
  456. The playing level controls the number of nodes visited in each tactical
  457. search and the number of moves considered on the full board.  Higher numbers
  458. are slower, but allow the program to read out more difficult tactical
  459. situations and find less obvious moves.  MFGO/Xgo has 20 playing levels, 
  460. which cover the same range as the 100 playing levels in Cosmos.
  461.  
  462. MFGO/Xgo allows black to start with handicap stones on the board to make up for
  463. a difference in strength between the players. 
  464.  
  465. Japanese rules are commonly used in the US and Japan.  The Ing Chinese rules
  466. are used in Taiwan and are the official rules of the Ing computer Go 
  467. championship (the one with the $1.5 Million prize).
  468.  
  469. Many Faces of Go Info:
  470.  
  471. MFGO will run on any IBM PC, XT, AT, PS/2 system, Tandy 1000, or clone.  The 
  472. machine  should have at least 512Kb of RAM (Cosmos is about 450K) and a 5 1/4 
  473. inch or 3 1/2 inch floppy drive.  MFGO is distributed on two 362Kb floppy 
  474. disks and one 3 1/2 inch disk.  It is not copy protected.  To run it, just 
  475. type go.  It allows you to set up a configuration for the game where you can 
  476. specify board size, handicap, computer to play black, white, both or neither, 
  477. beep for Atari, playing level, archive all games to disk, randomize moves (so 
  478. it doesn't always play the same game), etc.  You can save the configuration on
  479.  the disk.
  480.  
  481. MFGO supports  Hercules, CGA, EGA, VGA (Color or Mono), Tandy, and Laptop 
  482. graphics modes.  In each mode it uses the highest resolution available and has
  483. shaded stones.  In VGA the board has a realistic wood grain.  The VGA graphics
  484. are use for the X11 version.
  485.  
  486. The rules and strategy of Go are on line and there is extensive on line help
  487. for the configurations, playing, and scoring, including a 90 screen on line
  488. tutorial presented in question/answer format (using the text from the AGA
  489. book "The Way to Go") with two commented small board games.
  490.  
  491. Games can be saved and restored, or reviewed move by move.
  492.  
  493. MFGO can explain its reasons for picking a move and can give you a hint
  494. as to where you should move next (and explain the reasons for the hint).
  495.  
  496. MFGO includes a joseki tutor that allows you to browse the 15,000 move joseki
  497. library.
  498.  
  499. MFGO is designed to be very easy to use for the Go and or computer novice and
  500. is a good way to introduce someone new to Go.  It can play games on small
  501. boards.  It supports any odd size from 9x9 to 19x19.
  502.  
  503. Igo information:
  504.  
  505. Igo is MFGO restricted to a 9 line board, and it includes a new, improved
  506. on line tutorial presented in problem/answer format (using the text from the
  507. AGA book "The Way to Go").  Igo has 4 levels, which control the playing
  508. strength and the handicap, so an improving player will move up in levels.
  509. Igo is intended primarily to introduce new players to the game.
  510.  
  511.  
  512. How it Works:
  513.  
  514. Go is a very difficult problem.  There is no single idea that can generate
  515. strong moves (like searching in chess).  Strong programs are strong
  516. because they have lots of go knowledge.  The most important thing is a
  517. way to organize lots of go knowledge so it can be used quickly.  MFGO
  518. has 250 major move suggesting rules (and most of them are results of
  519. several subrules).  It has a 26,000 move annotated joseki library.  It has
  520. 320 patterns in a pattern library. It has maybe 50 rules each hardcoded into
  521. the tactical analyzer, connection evaluator, eye evaluator, and life and
  522. death evaluator.  It has 3 different territory evaluators which are used
  523. in different circumstances.  (One for secure eye space, one for liberties,
  524. and one for influence.)
  525.  
  526. The move suggesting rules suggest moves to try and probable values.  These are
  527. sorted and the "playing level" top moves are further considered.  Each of 
  528. these moves are made on the board and the position evaluated and scored
  529. (using the tactical analyzer, eye evaluator, etc.)  The move which leads
  530. to the best score is played.
  531.  
  532. Details
  533.  
  534. There are three parts of a Go program; the data structures for representing
  535. go knowledge, the evaluation function for determining the score, and
  536. the move selection expert system.
  537.  
  538. Data structures:
  539.  
  540. My most basic data structure is a sorted list of integers.  I use it for things
  541. like lists of liberties, lists of neighboring groups, and lists of eyepoints.
  542. I keep track of local structures like liberty lists incrementally.  Some
  543. global structures like the amount of influence on each square are completely
  544. recalculated every move.  For some things like the value of an eye I only
  545. recalculate ones that change.  Most data structures are attached to strings
  546. or groups rather than squares on the board.
  547.  
  548. Important data structures:
  549.  
  550. Per point (intersection):
  551.     Color (black, white, or empty)
  552.     String number
  553.     Number of adjacent black, white, empty points
  554.     List of adjacent empty points
  555.     White and black influence
  556.     Which eye is this point part of
  557.     List of connections through this point
  558.     List of patterns that match here
  559.  
  560. Per string (set of adjacent stones of same color, unit of capture):
  561.     Number of liberties
  562.     List of liberties
  563.     List of adjacent enemy strings
  564.     Group number
  565.     List of connections from this string
  566.     Aliveness
  567.     Tactically threatened flag
  568.  
  569. Per Group (set of unbreakably connected strings):
  570.     List of component strings
  571.     Aliveness
  572.     Number of liberties
  573.     List of liberties
  574.     List of eyes
  575.     Number of eyes
  576.     List of eye potentials
  577.     List of running points
  578.  
  579. Per connection:
  580.     Two string numbers
  581.     Status of connection (unbreakable, cuttable, etc)
  582.     Type of connection (hane, knights, one point jump, etc)
  583.     List of points in connection
  584.  
  585. Per eye:
  586.     List of points in eye
  587.     How many eyes if I move first
  588.     How many eyes if enemy moves first
  589.     How many eyes if enemy gets two moves in a row
  590.     List of vital points
  591.     Type of eye (one_point, dead_group, line, etc.)
  592.  
  593. Per eye potential
  594.     Type of potential (eye vital point, extend, connect, etc)
  595.     Amount of potential 
  596.  
  597. Per running point
  598.     Type of point (toward friend, toward enemy, etc)
  599.  
  600. Evaluating a position:
  601.  
  602. First, figure out where the strings of stones, liberties, liberties
  603. of liberties, stones next to empty squares, and connections are (I do this 
  604. incrementally).  A string of stones is the unit of capture in Go.
  605.  
  606. For each string, see if it is tactically captured if it moves first.  If so,
  607. mark it DEAD.
  608.  
  609. For each string, see if it is tactically captured if it moves second.  If so,
  610. mark it THREATENED.
  611.  
  612. Find all of the connections between strings.  Check tactically if they are
  613. cuttable or not.  (Knowing which strings are DEAD or THREATENED is a big
  614. help here.)
  615.  
  616. Collect all of the strings that are unbreakably connected into groups.
  617.  
  618. Analyze all the eyes on the board and assign them to groups.  An eye
  619. is a small space mostly surrounded by stones or a small DEAD group.  MFGO
  620. knows the dead shapes and vital points.  It checks the diagonals of small eyes
  621. to see if they are false.  Figure out the value and potential of each eye.
  622. (For example, 3 in a row has a value of one eye and potential of two eyes).
  623.  
  624. Find all of the territory completely controlled by each group which was not
  625. already counted as eyes.  This is the army's EYESPACE.
  626.  
  627. For each group, if it has eyes plus EYESPACE for two eyes, mark it ALIVE.
  628.  
  629. Radiate influence from the ALIVE groups (and negative influence from DEAD 
  630. ones), and slight influence from the other stones.
  631.  
  632. For each group that is not ALIVE or DEAD, figure out how strong it is.  Take
  633. into account potential connections, potential extensions along the edge,
  634. potential eyes.  If it has two independent moves that could make two eyes,
  635. mark it MIAI-ALIVE.  If it has one move that can make it alive, mark it
  636. UNSETTLED.
  637.  
  638. The remaining groups are WEAK.  Look for two adjacent WEAK groups to find
  639. semeais and sekis.  See if the radiated influence from a friendly live group
  640. hits a weak group.  If so it is not surrounded.  Separate the WEAK groups
  641. that can run or fight from the ones that are hopeless.  Generally a WEAK
  642. group that can't run and has ALIVE neighbors and few liberties is hopeless.
  643.  
  644. Each point with a stone on it or adjacent to a stone or between a stone
  645. and the edge is scored according to how alive the stone is.  Other points
  646. are scored based on the radiated influence.
  647.  
  648. Unsettled groups are scored differently depending on who has the move.
  649.  
  650. The guts of the evaluation function is based almost entirely on life and
  651. death considerations.  My feeling is that you can make 20 kyu moves based on
  652. shape alone, but you can't get to 10 kyu unless you can tell which groups
  653. are strong and which are weak, and especially which are unsettled.
  654.  
  655. MFGO classifies groups according by how strong they are into the following
  656. classes:
  657.  
  658.         HERE DOWN ARE DEAD
  659.         25 - tactically captured unconditionally
  660.         24 - presumed dead because surrounded without
  661.            any eyes (smothered small group)
  662.         23 - Temp used for weak groups undecided yet
  663.         22 - No eyespace or potential and nbrs all alive
  664.         21 - probably dead.  some eye space or potential, nbrs alive
  665.         20 - in semeai loses 
  666.         HERE DOWN ARE WEAK - PROBABLY WILL DIE
  667.         19 - no running ability, weak nbrs and some eye potential
  668.         18 - can't run, lots of eye potential, only one eye
  669.              has aji to live, or can be used as ko threats     
  670.                 17 - in a semeai. behind - aji for later
  671.         16 - poor running ability - can't live in one move
  672.         HERE DOWN ARE UNSETTLED 
  673.                 15 - in a semeai. unsettled
  674.         14 - Running fight (can run and there are adjacent weak groups)
  675.         13 - surrounded, can live or die in one move
  676.         13 - would be alive, but tactically threatened
  677.                 12 - in a semeai. Ahead or temporary seki
  678.         11 - unsettled - can live in one move or limp away
  679.         HERE DOWN ARE ALIVE (or settled for now)
  680.         10 - can run away easily, no eyes
  681.         9 - can run away easily, one eye
  682.             needs two moves to make second eye 
  683.         8 - can live in one move or run easily
  684.                 7 - Alive because wins semeai 
  685.                 6 - alive in seki
  686.                 5 - miai for barely space for two eyes (dangerous)
  687.         4 - barely territory for two eyes (dangerous)
  688.         HERE DOWN ARE VERY ALIVE
  689.                 3 - miai for lots of eye space - 3 or more ways to make
  690.                     second eye
  691.         2 - absolutely unconditionally alive - two small eyes
  692.             or lots of territory
  693.  
  694. The influence function:
  695.  
  696. Once we know the strength of groups we can radiate influence to determine
  697. where the territory is.  Influence is radiated independently from each
  698. stone and summed at each point.  The influence function falls off as 
  699. 1/distance, and does not go through stones or connections.  A function
  700. that falls off as 1/distance will create a constant field inside
  701. any fully enclosed area, no matter how big it is, which is what we want
  702. for territory.  Dead stones radiate negative influence.
  703.  
  704. The tactician:
  705.  
  706. The tactician does a single tactical search with the goal of capturing a
  707. string.  It gets passed the maximum liberty count, maximum depth, and maximum
  708. size of the search.  When seeing if strings are DEAD or THREATENED the
  709. maximum liberty count is 4.  If a string gets 5 liberties it is assumed to
  710. escape.  The maximum depth is about 100 which allows a ladder across the
  711. board to be read out.  The size of the search is the playing level, which 
  712. controls the number of decisions made.  Forcing moves don't count, so a ladder
  713. can be read out even at low levels.  Eye and connection evaluations use
  714. much smaller values for the size of the search since for a solid eye or 
  715. unbreakable connection you want to capture quickly.  The tactician does about 
  716. 200 nodes per second per MIP.
  717.  
  718. Move Selection:
  719.  
  720. I used to just try every move and score the board.  This worked OK, but was
  721. very slow.  Now I have a bunch of move suggestion code organized as a set
  722. of experts which suggest moves along with the reason for making them.  
  723. There are over 250
  724. reasons for making a move.  Each reason comes with a bonus value, a guess
  725. value, a minimum aliveness, and an indication of which group is being
  726. attacked or defended (if any one is).  The moves are sorted by the guess value
  727. and some number of them are tried (controlled by the playing level).  After
  728. a move is tried we check if the rule applied.  For example, if the rule
  729. is "Make an eye to save an unsettled group" and after the move is made the
  730. group is still unsettled, then the rule did not work and the move is
  731. rejected.  If the move is an attacking move, the attacked group must end up
  732. weaker.  If the move is a defending move, the defended group must end up
  733. stronger.  If the rule applied, we check to see if the move is sente, and
  734. add a bonus if it is.  The position is evaluated (as described above) and
  735. the rule bonus and sente bonus are added.  If there is a move tree associated
  736. with this move (from a joseki or a pattern match) the moves in the tree
  737. are placed on the board and evaluated (as above), then the scores are
  738. backed up using minimax.  After trying each move, the one
  739. which led to the highest score (counting bonuses) is made.  In evaluating
  740. the position a local quiescence search is made.
  741.  
  742. Move Suggestion:
  743.  
  744. The move suggestion experts are:
  745.  
  746. Fuseki
  747.     Playing in empty corner
  748.     Shimari and kakari
  749.     Joseki moves
  750. Big moves on edge
  751.     Towards enemy
  752.     Invasions
  753.     Between friendly stones
  754. Playing in the center (reducing moves and junction lines)
  755. Playing safe when ahead
  756.     Respond when enemy adds stone to dead group
  757. Squirming around when behind
  758.     Make a bogus invasion
  759.     try to make a hopeless group live
  760. Pattern matching
  761.     patterns for cutting and connecting
  762.     patterns for surrounding and avoiding getting surrounded
  763.     endgame patterns
  764.     killing/saving groups patterns
  765.     Shape moves
  766. Saving a weak group
  767.     making eyes
  768.     running
  769.     fighting semeais
  770. Save threatened string
  771. Capture threatened string
  772. Killing a weak group
  773.     surrounding
  774.     taking eyes
  775. Cutting and connecting
  776. Contact fights
  777.     Blocking
  778.     extending for liberties
  779.     hane 
  780. Ko threats
  781.     make a big atari
  782. Filling dame
  783.  
  784. There is a Joseki library which can suggest joseki moves.  It's
  785. organized as an directed acyclic graph (not a tree).  Moves are marked as 
  786. normal, urgent, bad (these moves are ignored
  787. but the response is in the library in case the opponent makes one), followup,
  788. etc.  The Joseki database is encoded in about 1.2 bytes per move.
  789.  
  790. There is a pattern matcher with over 300 patterns in it.  Each pattern is
  791. 8x8, where each point is specified as black, white, empty, don't care, 
  792. white or empty, black or empty, or black or white.  Each pattern has
  793. a set of attributes with it that must also match.  For example, the
  794. stone at (4,2) must be alive, or the stone at (2,5) must have at least
  795. 2 liberties.  Each pattern has a move tree attached that is used for
  796. full board lookahead.  There are about 1600 moves in all the move trees.
  797.  
  798. The move suggestion code is easily extensible by adding more patterns or
  799. firing rules based on other criteria.  The program has text associated with
  800. each rule so it can "explain" its reasons for making moves.  This makes it
  801. easy to debug.
  802.  
  803. Program Size:
  804.  
  805. Many Faces of Go is about 41,000 lines of code with about 15,000 of those
  806. lines in the user interface and the rest in the playing algorithm.  It is
  807. written entirely in C except for a small amount of PC video graphic interface
  808. code which is in 80x86 assembler.  On the PC, MFGO occupies about 440 Kbytes
  809. in memory, about 2/3 code and 1/3 data.
  810.  
  811. -David Fotland
  812.  
  813.  
  814.  
  815. >From: bdp@ely.cl.cam.ac.uk (Barney Pell)
  816. Subject: (LONG) Computer GO people and INFO
  817. Date: 7 Jun 90 17:29:26 GMT
  818.  
  819. I still haven't completed the paper I promised long ago.
  820. But at last, I've compiled the numerous responses I got.
  821. Thanks to everyone who replied.  I hope we can once again use this
  822. newsgroup as a place to exchange ideas about COMPUTER GO.
  823.  
  824. I didn't make an address book below, instead I pretty much just
  825. included the relevant parts of the responses I received.
  826.  
  827. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  828. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  829. %%%
  830. %%%   Computer GO People and INFORMATION
  831. %%%
  832. %%% Information compiled by Barney Pell
  833. %%% Thanks to everyone in NETLAND who replied.
  834. %%%
  835. %%% 
  836. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  837. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  838.  
  839.  
  840. ----------------------------------------
  841. >From: Barney Pell
  842. ----------------------------------------
  843. I'm working on Machine Learning in the Game of GO.
  844. I currently have two areas of research:
  845.  
  846. 1. Probabilistic evaluation function learning
  847. 1.1. Given some features, learn which ones are good, and in
  848. what combinations, based on statistical experience).
  849. 1.2. Supervised learning (from master games)
  850. 1.3. Unsupervised (program plays against itself, experiments).
  851.  
  852. 2. Dependency-based learning: 
  853. 2.1. Given: a dependency structure (i.e., this group is safe because it
  854. can kill that group, because it has only 2 liberties.
  855. 2.2. Given: some change which undermines a previous conclusion
  856. 2.2.1. (Like: enemy protected the 2-liberty group, so now my group is
  857. no longer safe.
  858. 2.3. Learn: General Concept of undermining this type of conclusion.
  859. 2.3.1. (In this example: "defend to attack").
  860.  
  861. ==================================================
  862.  
  863.    Barney Pell
  864.    Computer Laboratory
  865.    University of Cambridge
  866.    phone:  (0223) 334622
  867.    e-mail:  bdp@cl.cam.ac.uk
  868.  
  869. Life  is a metaphor for GO!
  870. ==================================================
  871.  
  872.  
  873.  
  874. ----------------------------------------
  875. >From: Fred Hansen <wjh+@edu.cmu.andrew>
  876. ----------------------------------------
  877.  
  878. Here's some stuff recently posted to the net by 
  879.  Jeff Boscole ( aesop@milton.u.washington.edu ).
  880.  
  881. You should especially get in touch with the Computer Go journal.
  882.  
  883. Anders Kierulf is studying with Jurg Nievergelt at:
  884.     ETH-Zentrum/ETL
  885.     CH-8092 Zurich
  886.     Switzerland
  887.  
  888.  
  889. Fred Hansen
  890.  
  891.  
  892. ----------------------------------------
  893. >From: Tim Duncan <timd@uk.ac.ed.aiai>
  894. ----------------------------------------
  895.  
  896.  
  897. I'm interested in building a Go playing program too, though haven't been
  898. able to devote much time to it yet. However, you might be interested in
  899. several papers on Go in:
  900.  
  901.     Max Bramer (ed) Computer game-playing: theory and practice.
  902.     Ellis Horwood, Chichester, 1983     (ISBN: 0853124884)
  903.  
  904.  
  905. --------------------
  906. >From Kaihu Chen
  907. --------------------
  908. I have been working on computer Go 
  909. for about 3 years. My program won the 3rd place in the 1987 Go tournament
  910. at Taipei. No, the K. Chen who won last year was not me (I was not there).
  911. I did my Ph.D. thesis with R. S. Michalski on Machin Learning,
  912. and I have been trying to apply it to computer Go. Personally I believe
  913. that's the only way for a program to reach 3-dan or higher.
  914. I would be happy to open up a channle of discussion so that we can
  915. benefit from each other.
  916.  
  917. I am hoping to use inductive learning to generalize results 
  918. derived from minimaxing into reliable declarative forms, in order to reduce 
  919. the need for minimaxing at the time of competition. This is my way to
  920. make a Go program play faster and better with practice and time.
  921.  
  922.  
  923. Kaihu Chen
  924. MS: DLB5-3/E7
  925. 290 Donald Lynch Blvd
  926. Marlboro, MA 01752
  927. U. S. A.
  928. (FAX)508-840-3494
  929. email: kchen@aisg.enet.dec.com
  930.  
  931.  
  932. --------------------
  933. >From Jens-Peter Haack <peter@uucp.tub>
  934. --------------------
  935.  
  936. Im working on a GO-Programm for one year, it's written in C an
  937. runns on an ATARI ST and SUN's under X-Windows.
  938.  
  939. It's the thema of my diplom in Informatik on the technical University
  940. of Berlin, to be finnished 21. Feb 90.
  941.  
  942. With an old (and very clumsy) Version i got the 9th place of 10
  943. in London last year (Computer Olymiad) in 19x19 GO.
  944.  
  945. If you are interessted, ill send you a copy of my work after the 21. Feb.
  946.  
  947.  
  948. Addresses:
  949.    Anders Kierulf, ETH Zuerich, CH-8092 Zurich, Switzerland
  950.     e-mail: kierulf@inf.ethz.ch
  951.  
  952.    Ken Chen, Dept. of Computer Science
  953.          University of North Carolina
  954.          Charlotte, NC 28223, USA
  955.     e-mal: chen@unccvax.uncc.edu
  956.    
  957.    Christian Haider, Ohsuga-Lab.
  958.          The University of Tokyo
  959.          4-6-1 Komaba, Meguro-Ku, Tokyo 153
  960.     e-mail: haider%kaus1.ohsuga.u-tokyo.junet%utokyo-relay.csnet@RELAY.CS.NET
  961.  
  962.    Me (Jens-Peter Haack), Sedanstr. 25, 1000 Berlin 41, West-Germany
  963.     e-mail: pyramid!tub!peter
  964.         unido!tub!peter
  965.         peter@tub.bitnet
  966.  
  967. Christian Haider will be back in germany in 3 month's
  968.  
  969. Do you know about the "Computer Go", DIN-A5 Magazin. Printed and edited
  970. in Canada, Editor: David Erbach, 71 Brixford Crescent, Winnipeg
  971.                  Manitoba R2N 1E1
  972. There are 4 issues a year.
  973.  
  974. The latest paper from A.Kierulf, K.Chen, J.Nievergelt i have, is dated
  975. May 1989:
  976.     "Smart Game Board and Go Explorer:
  977.       A case study in software and knowledge engineering"
  978.  
  979. Christian Haider just finnished his report desribing his one year in Japan,
  980. working on his Programm LeGo, using Machine Learning. (Automatic Rule
  981. Creation and Improving).
  982.  
  983. It should also be possible to order his Diplom-Work on the 
  984. technical University of berlin:
  985.   "Anwendung von Verfahren des Maschinellen
  986.    Lernens auf das japanische Brettspiel Go"
  987.  
  988. September 1988, (in german)
  989.  
  990. --------------------
  991. >From David Fotland
  992. <fotland%com.hp.hpda@com.hp.sde>
  993. --------------------
  994.  
  995. I wrote Cosmos, the strongest program commercially available (about 15 Kyu), 
  996. which came in second place last year in the U.S.  For recent information on
  997. computer Go, contact
  998.  
  999.  
  1000. David Erbach
  1001. 71 Brixford Cr
  1002. Winnipeg Manitoba R2N 1E1 Canada
  1003.  
  1004. (204) 256-2537 or (204) 946-7461
  1005.  
  1006. He publishes "Computer Go" which has many recent articles on
  1007. algorithms.
  1008.  
  1009.  
  1010. Noriaki Sanechika's address is
  1011.  
  1012. AI language research institute
  1013. Sakurai building
  1014. 15-15, Shiba 3-Chome; Minato-Ku
  1015. Tokyo 105, Japan
  1016.  
  1017. Herbert Enderton is a graduate student at CMU doing work on Go and
  1018. neural nets.  Here are the names from last years US championships:
  1019.  
  1020. K Chen
  1021. D Fotland
  1022. B Wilcox
  1023. H Landman
  1024. H Enderton
  1025. L Beus
  1026. K Schatten
  1027. B Landendorf
  1028.  
  1029. H Landman is reachable at sun!landman.
  1030.  
  1031. Bruce Wilcox's address and phone is:
  1032. Toyogo Inc
  1033. 34 Oak St.
  1034. Lexington, MA 02173
  1035. (617) 863-1454
  1036.  
  1037.  
  1038. --------------------
  1039. >From David Stoutamire
  1040. --------------------
  1041. I am doing an MS on computer go.
  1042.  
  1043. -- 
  1044.    daves@alpha.ces.cwru.edu  |   David Stoutamire, 
  1045.                              |   gradual student in computer engineering
  1046.    (216) 368-5038            |   at Case Western Reserve University
  1047.  
  1048.  
  1049. --------------------
  1050. >From Niek van Diepen (niekd@cs.kun.nl)
  1051. --------------------
  1052.  
  1053. 1. Mark Boon (author of Goliath II, the current world champion, and
  1054.    C.S.-student at the University of Amsterdam). His address is:
  1055.    Tasmanstraat 43-I, NL-1013 PX Amsterdam, The Netherlands.
  1056.    He might be able to point out the others to you.
  1057. 2. Jan Wielemaker (working at the University of Amsterdam on some AI
  1058.    techniques, and a go player who has considered using some of these
  1059.    techniques for programming go -- an aborted attempt, I think.)
  1060.    I do have an e-mail address of him: jan@swivax.uucp.
  1061.  
  1062.  
  1063. --------------------
  1064. >From Howard A. Landman
  1065. --------------------
  1066. I wrote a program Poka which is about 19 kyu - weaker than the good programs,
  1067. but stronger than pretenders like Contender and GnuGo.  It has the world's
  1068. best (only?) full-board opening library, and excellent fast routines for
  1069. calculating influence, but it's very stupid about tactics and living.
  1070. It uses cellular-automaton-like algorithms for the influence stuff.
  1071.  
  1072. I also have a huge amount of Go game data (over 200,000 moves), most of
  1073. which I've typed in myself.  I presume a good learning program needs a
  1074. lot of data to train on?
  1075.  
  1076. -- 
  1077.     Howard A. Landman
  1078.     landman@eng.sun.com -or- sun!landman
  1079.  
  1080. --------- 
  1081. From: landman@hanami.Sun.COM (Howard A. Landman)
  1082.  
  1083. Elwyn Berlekamp at U.C. Berkeley taught a class this year on the
  1084. Conway-Berlekamp-Guy theory of games, using Go for many of the examples.
  1085. He's proved many interesting results, including for example that the
  1086. temperature of a simple ko is 1/3 the number of points at risk.
  1087.  
  1088. Lynn Beus at Brigham Young University is still actively developing the
  1089. BYU Go -> Infinity Go -> Contender line of Go programs.
  1090.  
  1091. Laura Yedwab, working at MIT under Ron Rivest, did a thesis called
  1092. something like "On Playing Well In A Sum Of Games", which more-or-less
  1093. proves that even the endgame of Go is PSPACE-hard by itself.  (That
  1094. the entire game of Go is PSPACE-hard was established a few years back
  1095. by Sipser at Berkeley, who proved that the cut-vs-connect subproblems
  1096. of Go are already PSPACE-hard.)  I don't know whether Rivest is still
  1097. interested in such matters.
  1098.  
  1099. Danny Hillis at Thinking Machines Inc., designer of the Connection Machine,
  1100. has expressed interest in computer Go as a good, hard theoretical problem.
  1101. (See for instance the interview in Stewart Brand's "The Media Lab: Inventing
  1102. the Future at MIT".)  At least one person (myself) is experimenting with
  1103. massively parallel algorithms for Go using Connection Machines.  It might
  1104. be possible for people with similar interests to get guest accounts on
  1105. such machines.
  1106.  
  1107. Hans Berliner at CMU could be a force to contend with if he ever turned his
  1108. attention to computer Go, but I've heard rumors that he considers it too hard.
  1109. Still, it might be worth contacting him.
  1110.  
  1111. Judeah Pearl (at UCLA?) has done outstanding basic research in game theory,
  1112. some of which is applicable to Go.
  1113.  
  1114. --------------------
  1115. >From: Larry Watanabe <watanabe@edu.uiuc.cs.herodotus>
  1116. --------------------
  1117.  I am about 4-dan, and am studying machine
  1118. learning under Larry Rendell at the University of Illinois.
  1119.  
  1120. I have been thinking about doing a go program, but it seems
  1121. to me that it would take up too much time. I already have
  1122. a thesis topic, and it is not go. However, I might choose
  1123. GO as a domain, but I don't think that I will write something
  1124. that learns GO. To do so, you have to address a number of
  1125. machine learning issues, and I may only address some of them
  1126. in my learning system -- so there would be a large gap 
  1127. between what my system learns and what is needed to have
  1128. a GO performance element.
  1129.  
  1130. Larry Watanabe
  1131. 154 Paddock Dr. E.
  1132. Savoy IL 61874
  1133. USA
  1134. e-mail: watanabe@thucydides.cs.uiuc.edu
  1135.  
  1136. ----------------------------------------
  1137. >From: Herbert.Enderton@edu.cmu.cs.gp.a
  1138. ----------------------------------------
  1139.  
  1140.      I'm a graduate student at Carnegie Mellon and am also trying to do
  1141. a PhD thesis on computer go.  Machine learning may or may not be central
  1142. to my research depending on how successful the various methods I'm trying
  1143. turn out to be. 
  1144. ... The working title [of my thesis] is "The Use of Lemmas in
  1145. Computer Go", where a lemma is a chunk of cached knowledge obtained
  1146. through tactical search.
  1147.  
  1148.  -- Bert Enderton
  1149.     School of Computer Science
  1150.     Carnegie Mellon
  1151.     Pittsburgh, PA 15213-3890
  1152.     U.S.A.
  1153.     (412) 268-7571
  1154.  
  1155. ----------------------------------------
  1156. >From: Richard Lorentz <LORENTZ@EARN.calstate>
  1157. ----------------------------------------
  1158. I am responding to your posting from rec.games.go.  First of all, David B.
  1159. Benson was my Ph.D advisor and can probably be reached at:  benson@wsu.edu.
  1160. Based on your request for references I assume you have the Hamann paper
  1161. and are having trouble finding anything after that.  I am in the same boat
  1162. and would like to hear about any newer references you may have turned up.
  1163. I am thinking of starting up a go project of sorts.  I am just learning the
  1164. game (about 15 kyu) and figure I may be in a unique position to watch how
  1165. I learn and program those ideas into a go player.  I haven't written any
  1166. code yet, and, in fact, have no algorithms in mind yet.
  1167.  
  1168. I just applied for a local grant to get support to work on a go program
  1169. The success or failure of that proposal will probably determine how quickly
  1170. I start on mine. 
  1171.  
  1172.  
  1173. ==================================================
  1174.  
  1175.    Barney Pell
  1176.    Computer Laboratory
  1177.    University of Cambridge
  1178.    phone:  (0223) 334622
  1179.    e-mail:  bdp@cl.cam.ac.uk
  1180.  
  1181. ==================================================
  1182.  
  1183.  
  1184.  
  1185.  
  1186. * Gerry Tesauro, who is at IBM Watson, created the winner of the
  1187.   Computer Games Olympiad Backgammon competition in 1989.  This is the first
  1188.   time a learning program won over hand-crafted programs.  A brief report is
  1189.   in Neural Computation vol 1 no. 3 (Fall 1989).  The initial work
  1190.   was reported at NIPS 1 in 1988 and is in the proceedings
  1191.   (Neural Information Processing Systems vol 1, Touretzky, Ed., Morgan
  1192.   Kaufmann 1989)
  1193.   Other papers are
  1194.    Tesauro & Sejnowski, "A parallel network that learns to play
  1195.   backgammon", Artificial Intelligence 39, 357 (1989), and
  1196.    Tesauro, "Neural Network defeats creator in backgammon match"
  1197.   T.R. CCSR-88-6, U. of Illinois at Urbana-Champagne Center for Complex
  1198.   Research.
  1199.     
  1200. * From: Dave Stoutamire <daves%curie.ces.cwru.edu@RELAY.CS.NET>
  1201.  
  1202.   "My thesis is on machine learning applied to go: it is not trivial,
  1203.   mainly for computatinal reasons.  I ended up not using NNs for go
  1204.   because I didn't want to wait years for them to converge.  Herbert
  1205.   Enderton at CMU (andrew.cmu.edu) has been doing some NNs for go for
  1206.   his PhD work."
  1207.  
  1208. * From: Barney.Pell@computer-lab.cambridge.ac.uk
  1209.  
  1210.   "The following people (certainly the first) have done some work on NNs
  1211.   and GO:
  1212.  
  1213.     % Herbert.Enderton
  1214.     Herbert.Enderton@moriarty.theory.cs.cmu.edu
  1215.  
  1216.     %Howard Landman
  1217.     landman@sun.com
  1218.  
  1219.   I do work on Machine Learning and GO, but using logic and/or
  1220.   probability, not NNs." 
  1221.  
  1222. * From: landman@Eng.Sun.COM (Howard A. Landman)
  1223.  
  1224.   "...papers dealing with the computational complexity of GO
  1225.  
  1226.   Lichtenstein & Sipser, "Go is PSPACE-hard"
  1227.   (don't have the date or journal in front of me but they were posted to the
  1228.   net a couple of months ago)
  1229.  
  1230.   Yedwab, Laura, "On Playing Well In A Sum Of Games", MIT Masters thesis
  1231.   under Ron Rivest, available by sending email to (I think)
  1232.  
  1233.            publications@lcs.mit.edu"
  1234.  
  1235. * From: heidi@ucthpx.uct.ac.za (Heidi de Wet)
  1236.  
  1237.   "...On a related topic, I saw a reference once to a ... Go program which
  1238.   reportedly played to 10 kyu (the Nemesis Go programs play to 20 and 15 kyu). 
  1239.   The heart of the program was a so-called cellular automaton - a sort of
  1240.   one-layer NN with feedback.  Each cell was one location on the board, and
  1241.   'vacant' cells could take on one of 15 or so states.  At each move, the net
  1242.   would cycle about 5 times before reaching a stable state, and picking its
  1243.   move.
  1244.  
  1245. * unknown
  1246.  
  1247.   ...It comes from a collection of articles from the "Over the Horizon"
  1248.   column in the British weekly newspaper "Computing", by one Tony Durham.  The
  1249.   book is entitled "Computing Horizons", by Tony Durham, published by Addison-
  1250.   Wesly, 1988.  ISBN 0-201-18046-4."
  1251.     
  1252.  
  1253.     From: ddemers@UCSD.EDU (David E Demers)
  1254.     Newsgroups: comp.ai.neural-nets
  1255.     Organization: CSE Dept., UC San Diego
  1256.     
  1257.     I worked on this problem as a course project for a grad
  1258.     AI class.  I am pretty much an expert with NNs, and a
  1259.     novice with GO.  I used an approach similar to Tesauro's
  1260.     Neurogammon - trained a net to pick one position over
  1261.     another.  Because of the network architecture, 19 x 19
  1262.     GO was infeasible, so I used 9 x 9.  However, finding
  1263.     data for 9 x 9 GO was difficult.  I used DRAGON, a GO
  1264.     program for the Macintosh, to get some data.  
  1265.     The result was a crude position evaluation function.
  1266.     The game player then had higher level routines to find
  1267.     all possible legal moves, and presented each to the
  1268.     evaluation function, and chose the highest scoring move.
  1269.     It didn't play very well at all, but DID actually play
  1270.     legal GO.
  1271.     
  1272.     I have corresponded with a few other people working on
  1273.     this, but know of no published research.  You might
  1274.     post to rec.games.go.  There is a newsletter or some
  1275.     other communication for Computer GO enthusiasts, but
  1276.     I don't recall the e-mail or surface address.  There may
  1277.     in fact be a magazine...
  1278.     
  1279.     Good luck,
  1280.     
  1281.     
  1282.     -- 
  1283.     Dave DeMers                    demers@cs.ucsd.edu
  1284.     Computer Science & Engineering    C-014        demers%cs@ucsd.bitnet
  1285.     UC San Diego                    ...!ucsd!cs!demers
  1286.     La Jolla, CA 92093-0114      (619) 534-8187,-0688  ddemers@UCSD
  1287.     
  1288.     ===========
  1289.     
  1290.     From: Chris Chisolm <chisolm@hydra.unm.edu>
  1291.     Newsgroups: comp.ai.neural-nets
  1292.     Organization: University of New Mexico, Albuquerque
  1293.     
  1294.        I have also been interested in the aplication of neural nets to go.
  1295.     I have so far been just rying to teach myself about neural nets.  I
  1296.     would like it if you would mail me the responses you get.  
  1297.     
  1298.     BTW  Howard Landman might be a good person to contact for this.  I have 
  1299.     not yet because I do not even know the right questions to ask yet. His
  1300.     address is  landman@sun.com I believe.
  1301.     
  1302.     good luck.
  1303.     
  1304.     
  1305.                     chris
  1306.     
  1307.     
  1308.     =============
  1309.     
  1310.     From: Chris Chisolm <chisolm@hydra.unm.edu>
  1311.     
  1312.        That message reminds me of a few things you might be interested in.
  1313.     
  1314.        David Erbach publishes a computer go magazine.  I have not seen 
  1315.     anything in it yet on neural nets though.  
  1316.     
  1317.        there are two sites where you can find go information.
  1318.     
  1319.        ftp   scam.berkeley.edu  in  /src/local   I think
  1320.              blake.u.washington.edu who knows where.
  1321.     
  1322.        if you can't find david erbachs address there  talk to 
  1323.     wjh+@andrew.cmu.edu  he is the American GO Assc.  net contact
  1324.     
  1325.     
  1326.                     chris
  1327.     
  1328.     ============
  1329.     
  1330.     From: ddemers@UCSD.EDU (David Demers)
  1331.     
  1332.     Gerry Tesauro, who is at IBM Watson, created the winner of the
  1333.     Computer Games Olympiad Backgammon competition in 1989.  This is the first
  1334.     time a learning program won over hand-crafted programs.  A brief report is
  1335.     in Neural Computation vol 1 no. 3 (Fall 1989).  The initial work
  1336.     was reported at NIPS 1 in 1988 and is in the proceedings
  1337.     (Neural Information Processing Systems vol 1, Touretzky, Ed., Morgan
  1338.     Kaufmann 1989)
  1339.     Other papers are
  1340.         Tesauro & Sejnowski, "A parallel network that learns to play
  1341.     backgammon", Artificial Intelligence 39, 357 (1989), and
  1342.         Tesauro, "Neural Network defeats creator in backgammon match"
  1343.     T.R. CCSR-88-6, U. of Illinois at Urbana-Champagne Center for Complex
  1344.     Research.
  1345.     
  1346.     Note that one major problem with GO is that there is a large
  1347.     symmetry group, and no known canonical representation to choose
  1348.     among the members of the equivalence classes.  NNs are notoriously
  1349.     poor at handling symmetries.  My solution was to train on all members
  1350.     of the equivalence class, which inflates the number of training
  1351.     patterns by a factor of 16 with no true additional information.
  1352.     I'm sure a better solution is  possible.  Backgammon is much easier
  1353.     since it is linear and all positions are unique.  Chess has only
  1354.     a right/left symmetry, but it is rare for the king and queen to
  1355.     end up switched, so for all practical purposes again has unique positions.
  1356.     
  1357.     There is someone at SUN Microsystems with a huge database of games
  1358.     available, in the form of C structs.  He will probably give it away
  1359.     for free.  I didn't think they would be useful, since my approach
  1360.     required annotations of some sort - that is, some expert decision
  1361.     that a particular move was superior to another.  I STRONGLY suggest
  1362.     that 19 x 19 GO not be attempted as a first project.  Tic-tac-toe
  1363.     (naughts & crosses) might be a good initial project, since it has
  1364.     the same symmetries as GO but all games can be exhaustively
  1365.     enumerated in a small space.  If you can learn this game with
  1366.     say a 9-4-9 network (to keep the number of parameters at least
  1367.     on the order of the number of training patterns), the next step
  1368.     might be 9 x 9 GO.
  1369.     
  1370.     
  1371.     dave
  1372.     
  1373.     ==========
  1374.     
  1375.     From: heidi@ucthpx.uct.ac.za (Heidi de Wet)
  1376.     Newsgroups: comp.ai.neural-nets
  1377.     
  1378.     Hi,
  1379.     
  1380.     I'm afraid there's no help from here.  However, as a) a keen Go player,
  1381.     and b) someone who's going to do an MSc in neural nets sometime soon,
  1382.     I'd _LOVE_ you to pass on any information you get.  I've actually been
  1383.     wondering if I could get a thesis out of application of NN to Go...
  1384.     
  1385.     On a related topic, I saw a reference once to a chap in England who
  1386.     built a Go program which reportedly played to 10 kyu (the Nemesis
  1387.     Go programs play to 20 and 15 kyu).  The heart of the program was
  1388.     a so-called cellular automaton - a sort of one-layer NN with feedback.
  1389.     Each cell was one location on the board, and 'vacant' cells could take
  1390.     on one of 15 or so states.  At each move, the net would cycle about 5
  1391.     times before reaching a stable state, and picking its move.  The chap
  1392.     who wrote it said he doesn't actually understand its rule base - he set
  1393.     it up initially and then tinkered with it until he couldn't improve it
  1394.     any more.
  1395.     
  1396.     If you like, I'll track down the reference.
  1397.     
  1398.     Good luck!
  1399.     
  1400.     Heidi de Wet
  1401.     University of Cape Town, South Africa
  1402.     heidi@ucthpx.uct.ac.za  or  ..!ddsw1!proxima!ucteeu!heidi
  1403.     
  1404.     ==========
  1405.     
  1406.     From: Barney.Pell@computer-lab.cambridge.ac.uk
  1407.     
  1408.     The following people (certainly the first) have done some work on NNs
  1409.     and GO:
  1410.     
  1411.     % Herbert.Enderton
  1412.     Herbert.Enderton@moriarty.theory.cs.cmu.edu
  1413.     
  1414.     
  1415.     %Howard Landman
  1416.     landman@sun.com 
  1417.     
  1418.     
  1419.     I do work on Machine Learning and GO, but using logic and/or
  1420.     probability, not NNs.  
  1421.     
  1422.     If your interested, I'd be happy to send a paper to you.
  1423.     
  1424.     
  1425.     Also you should read the newsgroup rec.games.go
  1426.     
  1427.     -- Barney
  1428.     
  1429.     ==========
  1430.     
  1431.     From: "Bruce Reeler: Breeler%uctvax%quagga@uunet.uu.net"
  1432.      <BREELER@Uctvax.UCT.AC.ZA>
  1433.     
  1434.     Hi Guszti
  1435.     
  1436.     I saw your posting on the Net re Go and NNs.  We have a Go boffin here at UCT,
  1437.     and he recommends "Go for beginners" by Kauro (sp.?) Iwamoto.  This is THE book
  1438.     on Go.  I have played a bit, and it seems a good candidate for a NN.  More so
  1439.     than chess, because the patterns in Go are more static, in the sense that when
  1440.     a stone is laid down in Go, it doesn't move.  (Except capture, of course). 
  1441.     Hope things go well!
  1442.     
  1443.     Where are you, by the way?
  1444.     
  1445.     Cheers
  1446.     Bruce Reeler
  1447.     
  1448.     =========
  1449.     
  1450.     From: landman@Eng.Sun.COM (Howard A. Landman)
  1451.     
  1452.     In article <1991Feb26.195333.3972@comp.vuw.ac.nz> you write:
  1453.     >I'd appreciate if you could help me find out what the difficulties are,
  1454.     
  1455.     That's easy to explain.  Go is PSPACE-hard.  In fact, there's purported
  1456.     to be a recent unpublished proof that Go is EXPTIME-complete.  That
  1457.     makes it a couple of quantum jumps more difficult than merely NP-complete
  1458.     problems like traveling salesman.
  1459.     
  1460.     >and how programs try to address them.
  1461.     
  1462.     Most use one sort of stupid heuristic or another.  Go ahead and try to
  1463.     devise one; you might get lucky and find one that works better than
  1464.     anyone else's.
  1465.     
  1466.     -- 
  1467.         Howard A. Landman
  1468.         landman@eng.sun.com -or- sun!landman
  1469.     
  1470.     =========
  1471.     
  1472.     From: Alexandre Wallyn <wallyn@capsogeti.fr>
  1473.     
  1474.     I tried to post the same question about NNs and chess 3 weeks ago, but I have
  1475.     a lot of difficulties to post news.
  1476.     
  1477.     We told about such a project here at Cap Gemini Innovation. We have 2 good
  1478.     Go players, and I am specialised in neural networks, (and also internationnally
  1479.     rated in Chess).
  1480.     
  1481.     Our project was to try to learn first with a mini-Go and then try to extend it.
  1482.     I believe it has not been already done. I wrote a proposition of such a project
  1483.     (Go or Chess, and Neural Networks), and I can send you, but it is in French.
  1484.     
  1485.     Anyway, I am interested to keep contact with you. If it is possible, we can
  1486.     even set up a collaboration (official between our organisations). But anyway,
  1487.     if your project is unformal, I would be interested to know it and may be 
  1488.     exchange ideas.
  1489.     
  1490.     Alexandre WALLYN
  1491.     CAP GEMINI INNOVATION
  1492.     118, rue de Tocqueville
  1493.     75017 PARIS
  1494.     wallyn@crp.capsogeti.fr
  1495.     
  1496.     ==========
  1497.     
  1498.     From: landman@Eng.Sun.COM (Howard A. Landman)
  1499.     
  1500.     >papers dealing with the computational complexity of GO
  1501.     
  1502.     Lichtenstein & Sipser, "Go is PSPACE-hard"
  1503.     (don't have the date or journal in front of me but they were posted to the
  1504.     net a couple of months ago)
  1505.     
  1506.     Yedwab, Laura, "On Playing Well In A Sum Of Games", MIT Masters thesis
  1507.     under Ron Rivest, available by sending email to (I think)
  1508.     
  1509.         publications@lcs.mit.edu
  1510.     
  1511.     The EXPTIME-complete result is somewhat startling, and I haven't seen the proof
  1512.     yet, but it apparently relies on complicated multiple ko situations.
  1513.     
  1514.     >I'd rather have the computer work them out
  1515.     
  1516.     Well, no one's really tried Genetic Algorithms yet, so you might have something
  1517.     there.  The difficulty for me is that each test takes a couple of hours of
  1518.     human intervention, since I test my algorithms against other people's Go
  1519.     programs, and you have to play all the way through the endgame to weed out
  1520.     bad bugs there (filling in own eyes, etc.).  If EVERYONE followed a common
  1521.     protocol, things might be easier.  But with programs running on different
  1522.     hardware (IBM-PC, Mac, Sun, H-P, Amiga), it gets a little hairy establishing
  1523.     ANY kind of communication.
  1524.     
  1525.         Howard
  1526.     
  1527.     ==========
  1528.  
  1529.     From: xpoint!landman@uunet.UU.NET (Howard Landman)
  1530.     To: uunet!cleveland.Freenet.Edu!as666@uunet.UU.NET
  1531.     Subject: Re:  Poka
  1532.     Date: Tue, 07 Jan
  1533.  
  1534.     
  1535.     >Do you use a neural network for Poka's move choices?
  1536.     
  1537.     No.  It's closer to a cellular automaton in spirit, but augmented by a few
  1538.     "global" operations like counting up 1 cells, finding the first one, etc.
  1539.     
  1540.         Howard
  1541.     
  1542.     P.S. However, I have done some NN work for Go.  It just hasn't been good
  1543.     enough to include in a competitive program yet.
  1544.     
  1545.